package cn.com.shaom.learning.sc.redis.dao;

import cn.com.shaom.learning.sc.redis.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Repository;

/**
 * ClassName: UserDao
 * Description:
 * Date: 2017/12/27 11:15 【需求编号】
 *
 * @author Shaom
 * @version V1.0.0
 */
@Repository
public class UserDao {


    @Autowired
    StringRedisTemplate stringRedisTemplate;

    @Autowired
    RedisTemplate<Object, Object> redisTemplate;

    public void save(User user) {
        // redisTemplate 使用默认的 JdkSerializationRedisSerializer，保存二进制
        // key 和 value 都是二进制
        redisTemplate.opsForValue().set(user.getId(), user);
    }

    public void saveString(User user) {
        stringRedisTemplate.opsForValue().set(user.getId(), user.toString());
    }

    public String getString(String id) {
        return stringRedisTemplate.opsForValue().get(id);
    }

    public User get(String id) {
        return (User) redisTemplate.opsForValue().get(id);
    }




}